﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IKE.EntryLib;
using System.Xml.Serialization;
using IKE.LCAFormat.ILCD.Common;

namespace IKE.LCAFormat.ILCD.Process
{
    public class ExchangeType:AutoSerializeBase
    {
        [DisplayUI(1)]
        [XmlAttribute]
        public int dataSetInternalID;
        
        [DisplayUI(2)]
        public GlobalReferenceType referenceToFlowDataSet = new GlobalReferenceType();

        [DisplayUI(3)]
        public string location;

        [EnumValues(9)]
        [DisplayUI(4)]
        public int functionType;

        [EnumValues(8)]
        [DisplayUI(5)]
        public int exchangeDirection;

        [DisplayUI(6)]
        public string referenceToVariable;

        [DisplayUI(7)]
        public double meanAmount;

        [DisplayUI(8)]
        public double resultingAmount;

        [DisplayUI(9)]
        public double minimumAmount;

        [DisplayUI(10)]
        public double maximumAmount;

        [EnumValues(24)]
        [DisplayUI(11)]
        public int uncertaintyDistributionType;

        [DisplayUI(12)]
        public decimal relativeStandardDeviation95In;

        [DisplayUI(13)]
        public AllocationsType allocations = new AllocationsType();

        [EnumValues(7)]
        [DisplayUI(14)]
        public int dataSourceType;

        [EnumValues(5)]
        [DisplayUI(15)]
        public int dataDerivationTypeStatus;

        [DisplayUI(16)]
        public List<GlobalReferenceType> referencesToDataSource = new List<GlobalReferenceType>();

        [DisplayUI(17)]
        public List<StringMultiLang> generalComment = new List<StringMultiLang>();
    }
}
